package cn.gcyl.module.biz.dal.dataobject.conferenceregistrationinformation;

import cn.gcyl.framework.mybatis.core.dataobject.BaseDO;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 用户会议报名信息 DO
 *
 * @author 芋道源码
 */
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ConferenceUserRegistrationInformationPO extends BaseDO {

    /**
     * 会议报名id
     */
    @TableId
    @ExcelProperty("会议报名id")
    private Long id;
    /**
     * 会议id
     */
    @ExcelProperty("会议id")
    private Long meetingId;
    /**
     * 方案id
     */
    @ExcelProperty("方案id")
    private String meetingPlanId;
    /**
     * 状态（0待审核 1已通过 2已驳回 3已完成）
     */
    @ExcelProperty("状态（0待审核 1已通过 2已驳回 3已完成）")
    private Integer isFree;
    /**
     * 驳回原因
     */
    @ExcelProperty("驳回原因")
    private String rejectionReason;
    /**
     * 驳回原因
     */
    @ExcelProperty("封面")
    private String cover;
    /**
     * 驳回原因
     */
    @ExcelProperty("轮播图")
    private String carouselImage;
    /**
     * 用户id
     */
    @ExcelProperty("用户id")
    private Long userId;
    /**
     * 支付订单id
     */
    @ExcelProperty("支付订单id")
    private Long payOrderId;
    /**
     * 用户手机
     */
    @ExcelProperty("用户手机")
    private String mobile;
    /**
     * 用户昵称
     */
    @ExcelProperty("用户昵称")
    private String nickname;
    /**
     * 参会名称
     */
    @ExcelProperty("参会名称")
    private String schemeName;
    /**
     * 方案价格
     */
    @ExcelProperty("方案价格")
    private BigDecimal schemePrice;
    /**
     * 所属分类(代理商 厂家 专业分包)
     */
    @ExcelProperty("所属分类(代理商 厂家 专业分包)")
    private String category;
    /**
     * 报名字段内容
     */
    @ExcelProperty("报名字段内容")
    private String registrationNames;
    /**
     * 公司
     */
    @ExcelProperty("公司")
    private String company;
    /**
     * 参会人姓名
     */
    @ExcelProperty("参会人姓名")
    private String attendeeName;
    /**
     * 部门
     */
    @ExcelProperty("部门")
    private String department;
    /**
     * 电话
     */
    @ExcelProperty("电话")
    private String phone;
    /**
     * 职位
     */
    @ExcelProperty("职位")
    private String position;



    /**
     * 会议名称
     */
    @ExcelProperty("会议名称")
    private String meetingName;
    /**
     * 会议简介
     */
    @ExcelProperty("会议简介")
    private String meetingSynopsis;
    /**
     * 会议时间
     */
    @ExcelProperty("会议时间")
    private String meetingTime;
    /**
     * 会议开始时间
     */
    @ExcelProperty("会议开始时间")
    private LocalDateTime startTime;
    /**
     * 创建时间
     */
    @ExcelProperty("创建时间")
    private LocalDateTime createTime;
    /**
     * 会议结束时间
     */
    @ExcelProperty("会议结束时间")
    private LocalDateTime endTime;
    /**
     * 支付时间
     */
    @ExcelProperty("支付时间")
    private LocalDateTime successTime;
    /**
     * 审核时间
     */
    @ExcelProperty("审核时间")
    private LocalDateTime examineTime;
    /**
     * 是否为免费会议（0是 1否）
     */
    @ExcelProperty("是否为免费会议（0是 1否）")
    private Integer isFreeMeeting;
    /**
     * 会议地址
     */
    @ExcelProperty("会议地址")
    private String meetingAddress;
    /**
     * 发票类型
     */
    @ExcelProperty("发票类型")
    private String invoiceType;
    /**
     * 发票单位名称
     */
    @ExcelProperty("发票单位名称")
    private String invoiceUnitName;
    /**
     * 发票电话
     */
    @ExcelProperty("发票电话")
    private String invoicePhone;
    /**
     * 发票税号
     */
    @ExcelProperty("发票税号")
    private String invoiceTaxId;
    /**
     * 会议状态
     */
    @ExcelProperty("会议状态")
    private String meetingStatus;
    /**
     * 发票开户行
     */
    @ExcelProperty("发票开户行")
    private String invoiceOpeningBank;
    /**
     * 发票账号
     */
    @ExcelProperty("发票账号")
    private String invoiceAccountNumber;
    /**
     * 发票地址
     */
    @ExcelProperty("发票地址")
    private String invoiceAddress;
}